package com.swap.business.service;


import com.fasterxml.jackson.core.JsonProcessingException;
import com.swap.business.config.CustomizeException;
import com.swap.business.domain.SwapDevice;
import com.swap.business.dto.NetworkDto;
import com.swap.business.dto.SnmpMessageDTO;

import java.util.List;
import java.util.concurrent.CompletableFuture;

public interface DeviceDataAcquisitionService {
    /**
     * 查询设备所有端口入流量
     */
    List<NetworkDto> queryBoundBandWidthRateForH3c(SnmpMessageDTO snmpInfo, SwapDevice device, List<NetworkDto> portInfo);

    List<NetworkDto> queryBoundBandWidthRateForHw(SnmpMessageDTO snmpInfo, SwapDevice device, List<NetworkDto> portInfo);

    /**
     * 查询设备入口转发错误率
     */
    List<NetworkDto> queryAllBoundPacketsErrorRate(SnmpMessageDTO snmpInfo, SwapDevice device, List<NetworkDto> portInfo);

    /**
     * 监听设备所有信息
     */
    CompletableFuture<Void> queryGetAllDeviceInfo(SnmpMessageDTO snmpInfo, SwapDevice device) throws JsonProcessingException, CustomizeException;
}
